草庐IT

Amazon EC2 上的 MongoDB

全部标签

java - 如何检测 ‘Save as PDF…’ 是从 OS X 上的 AWT PrinterJob 中选取的

我有以下代码在我的Java应用程序中显示native打印对话框。PrinterJobjob=PrinterJob.getPrinterJob();PrintRequestAttributeSetatts=newHashPrintRequestAttributeSet();atts.add(DialogTypeSelection.NATIVE);if(job.printDialog(atts)){PrintServicenewlyUsedService=job.getPrintService();DocPrintJobdocJob=newlyUsedService.createPrint

Mac 上的 Java 7 和 JavaVM.framework

我在mac上玩了一下Java7update9,发现了一件有趣的事情。我刚刚使用JFrame运行了一个简单的Java程序,并使用lldb附加到它。然后我检查了这个Java程序加载的库,我看到了:"/System/Library/Frameworks/JavaVM.framework/JavaVM"在里面。所以我有两个问题:这个JavaVM为Java7做了什么?我认为Mac上的Java7与其在Windows和Linux上的相应版本一样是自洽的。通过使用“nm”,我可以看到这个JavaVM定义了很多函数,比如JNI_CreateJavaVM,它也在libjvm.dylib中定义。对于Java

java - 我们如何优化 ArrayList 上的插入?

其实这是前几天问的面试题。面试官要我表达ArrayList和LinkedList的区别,要求优化ArrayList的插入操作,换句话说,重新实现add(intindex,Eelement)当然可以牺牲get(intindex)操作的复杂性。我的答案是将数组分成k个子数组,并更新一个计数数组,表示相应子数组中已有的元素数。并且每个子数组的内存都是动态分配的,具有预期的初始大小。当我需要向ArrayList中插入数据时,我可以先定位到一个子数组,然后在一个小数组内进行操作。如果插入不是太频繁或者索引是均匀分布的,插入的时间复杂度可以平均为O(log(k)+n/k+k),其中log(k)表示

java - 带有 Tor 的 RSelenium 以及 Windows 上的新 RSelenium 版本

我找到了@jdharrison关于如何在Windows上使用RSelenium启动Tor的绝妙答案:https://stackoverflow.com/a/39048970/7837376但是,在RSelenium的新版本中,startServer()已失效,其替代品rsDriver()不接受java参数正如startServer()之前所做的那样。使用新的RSelenium语法在firefox中启动Tor的方法是什么?非常感谢(提前)! 最佳答案 您可以自己启动selenium服务器,而不是使用rsDriverbrowserP

java - 如何根据移动应用程序上的事件向 webapp 发送消息

当移动应用程序发生事件时,如何将消息发送到Web应用程序。两者都使用相同的后端服务器。我使用的是WebSocket,我能够触发消息。这是正确的方法吗?这是我的代码。webscoket处理程序publicclassMyHandlerextendsTextWebSocketHandler{@AutowiredprivateCommonUtilutil;@OverridepublicvoidhandleTextMessage(WebSocketSessionsession,TextMessagemessage)throwsIOException,InterruptedException{wh

java - 我可以从 Eclipse/IDE 调试器连接到远程机器上的 jsadebugd 进程吗?

我有一个在Linux机器上运行的java进程,但它无法在Debug模式下启动/重新启动。我读到了jsadebugd命令并启动守护进程,但我想从IDE(可能是Eclipse)调试器或YourKit或jconsole连接到它。我怎样才能做到这一点?远程JVM是1.6+。 最佳答案 既然您提到了Yourkit和其他工具,我假设您真正想要做的是查看应用程序内部的对象状态。有几个选项,但我不认为它能让你像Eclipse或其他调试器那样设置断点(尽管我很想听听是什么限制你在Debug模式下启动进程-技术?过程?)您是否尝试连接:VisualVM

java - 有什么方法可以知道 Locale 上的国家/地区默认使用的语言吗?

我有这些代码行:Locale[]cosas=Locale.getAvailableLocales();for(inti=0;i我得到这个列表:ms_MYar_QAis_ISfi_FIplen_MTit_CHnl_BEar_SAar_IQes_PRes_CLfide_ATdaen_GBes_PAsrar_YEmk_MKmken_CAvi_VNnl_NLes_USzh_CNes_HNen_USfrtharar_MAlvdein_IDhren_ZAko_KRar_TNinjasr_RSbe_BYzh_TWar_SDptisja_JP_JP_#u-ca-japanesees_BOar_DZms

java - 最大 jvm 堆的大小未达到或接近机器上的最大物理内存的原因是什么?

我有一台64位机器,理论上地址空间是2^64字节,它有32G的物理RAM。这是一台具有16个内核的服务器级机器,是一台生产服务器。既然没有其他消耗大量内存的进程在运行,并且服务器jvm是唯一正在运行的应用程序,是否有任何理由不将jvm堆设置为非常大的数字?我看到它被设置为少于10场演出,但没有任何我能想到的解释。正如我之前在帖子中提到的:我知道内核、缓存和其他进程需要共享RAM。但是除了任何其他进程和操作系统原生的东西,没有其他事情发生。这台机器是一台生产机器,专门用于这个特定的jvm。是否有任何理由不设置为20gigs/32g(物理内存)?从下面的评论来看——似乎不是……除了需要快速

java - 我如何安全地处理 JVM 上的 key Material 缓冲区并将其归零?

我正在为执行加密操作的JVM(在Clojure中)编写软件。具体来说,给定secret输入、secretkey、非secret盐、非secret个性化,它使用BLAKE2导出512位keyMaterial。然后,它使用Arrays类中的工具将该数组分成两个256位block。(source)该操作的实际实现存在于libsodium中所以它是在C中实现的。我正在使用caesium访问它,它是kalium的包装器,一个使用jnr-ffi的库调用底层C实现。由于上面的所有缓冲区都有敏感的keyMaterial,我想确保它已从内存中清除。我不确定如何在JVM上安全地执行此操作(哎呀,我什至不确

java - 跟踪 window.open() 方法打开的窗口上的用户 Activity

我想在客户端打开一个ftp浏览器,以便他可以在ftp中上传文件。我正在使用window.open()方法在子窗口中打开ftp。varwindowObjectReference=window.open("ftp://"+username+":"+password+"@"+server,_blank',toolbar=yes,location=yes,status=yes,scrollbars=auto,copyhistory=no,menubar=yes,width=500px,height=500px,left=300px),top=100px,resizable=yes');ftp看